package top.yxqz.ssm.controller;

import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import top.yxqz.ssm.pojo.SSMEmp;
import top.yxqz.ssm.service.SSMEmpService;

import java.util.List;

/**
 * @author: 余小小
 * @date: 2023/5/25
 * @description：SSM整合员工的描述层 后端里的接口类型：
 * 1.数据层的接口————————dao(mapper)   操作数据库的
 * 2.描述层的接口————————controller   第三方 可能不需要操作数据库
 */
@Controller
@RequestMapping("/emp")
public class SSMEmpController {

    @Autowired
    private SSMEmpService empService;

    /**
     * 跳转去员工列表界面
     *
     * @return
     */
    @GetMapping("/")
    public String EmpList(Model model) {
        List<SSMEmp> ssmEmps = empService.getAllEmp();
        model.addAttribute("emps", ssmEmps);
        return "emp_list";
    }

    /**
     * 分页查询
     */
    @GetMapping("/page/{pageNum}")
    public String page(@PathVariable("pageNum") Integer pageNum, Model model) {
        PageInfo<SSMEmp> ssmEmpPageInfo = empService.pageEmp(pageNum);
        model.addAttribute("empPageInfo", ssmEmpPageInfo);
        return "emp_list_page";
    }


    /**
     * 删除员工
     */
    @DeleteMapping("/{empid}")
    public String delEmp(@PathVariable("empid") Integer empid, Model model) {
        empService.delEmp(empid);
        return "redirect:/emp/";
    }
}
